import Vue from 'vue'

export function isvalidUsername(str) {
  //var reg = /^1[3|4|5|7|8][0-9]{9}$/; //验证手机号
 // return reg.test(str)
 return true;
}

/* 合法uri*/
export function validateURL(textval) {
  const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
  return urlregex.test(textval)
}

/* 小写字母*/
export function validateLowerCase(str) {
  const reg = /^[a-z]+$/
  return reg.test(str)
}

/* 大写字母*/
export function validateUpperCase(str) {
  const reg = /^[A-Z]+$/
  return reg.test(str)
}

/* 大小写字母*/
export function validatAlphabets(str) {
  const reg = /^[A-Za-z]+$/
  return reg.test(str)
}

/*验证用户名*/
export function validaName(str){
	const reg=/[A-Za-z0-9_\-\u4e00-\u9fa5]+/
	return reg.test(str)
}
/*验证QQ号*/
export function validateQQ(str){
	const reg= /[1-9]([0-9]{5,11})/;
	return reg.test(str)
}
/*验证小数*/
export function validFloat(str,integerSize,floatSize){
	if(!str && str != 0){
		return false;
	}
	if(!integerSize || integerSize<1){
		integerSize = 1;
	}
	if(!floatSize || floatSize<1){
		floatSize = 1;
	}
	const reg = new RegExp("^((-?\\d{1,"+integerSize+"})(\\.\\d{1,"+floatSize+"})?)$");
	if(!reg.test(str)){
		return false;
	}
	return true;
}
/*验证整数*/
export function validDigits(str,integerSize){
	if(!str){
		return false;
	}
	if(!integerSize || integerSize<1){
		integerSize = 1;
	}
	const reg = new RegExp("^(-?\\d{1,"+integerSize+"})$");
	if(!reg.test(str)){
		return false;
	}
	return true;
}
/*验证最大值*/
export function validMaxValue(str,maxValue){
	if(!str && str != 0){
		return false;
	}
	const reg = /^(-?\d+)(\.\d+)?$/;
	if(!reg.test(str)){
		return false;
	}
	let tempStr = parseFloat(str);
	let tempMaxValue = parseFloat(maxValue);
	if(tempStr>tempMaxValue){
		return false;
	}
	return true;
}
/*验证最小值*/
export function validMinValue(str,minValue){
	if(!str && str != 0){
		return false;
	}
	const reg = /^(-?\d+)(\.\d+)?$/;
	if(!reg.test(str)){
		return false;
	}
	let tempStr = parseFloat(str);
	let tempMinValue = parseFloat(minValue);
	if(tempStr<tempMinValue){
		return false;
	}
	return true;
}
/*验证长度*/
export function validMaxLength(str,maxLength){
	if(!str && str != 0){
		return false;
	}
	if(str.length>maxLength){
		return false;
	}
	return true;
}
/*验证长度*/
export function validNumber(str){
  return isNaN(str) ? false :true;
}

/**
 * remote 验证
 * @param url 服务路径
 * @param value 验证的值
 * @param message 提示信息
 * @param callback 回调
 */
export function remoteValid(url,value,message,callback){
  Vue.prototype.service ({
    url: url,
    method: 'post',
    data: ({
      value: value
    })
  }).then(function (response) {
    if(!response){
      return callback(new Error(message));
    }
  }).catch(function (data) {
  });
}
